home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / AEWIN100.ARJ / ATTRMAP.H < prev    next >
C/C++ Source or Header  |  1990-12-24  |  1KB  |  46 lines

  1. /**********************************************************************
  2.  *  
  3.  *  NAME:           attrmap.h
  4.  *  
  5.  *  DESCRIPTION:    attribute mapping object
  6.  *  
  7.  *  copyright (c) 1990 J. Alan Eldridge
  8.  * 
  9.  *  M O D I F I C A T I O N   H I S T O R Y
  10.  *
  11.  *  when        who                 what
  12.  *  -------------------------------------------------------------------
  13.  *  11/25/90    J. Alan Eldridge    created
  14.  *  
  15.  *********************************************************************/
  16.  
  17. #ifndef __ATTRMAP_H
  18. #define __ATTRMAP_H
  19.  
  20. class attribmap {
  21.  
  22. private:
  23.  
  24.     enum { MAPSIZE = 16 };
  25.     uchar   map [ MAPSIZE ];
  26.  
  27. public:
  28.  
  29.     void    clearmap()
  30.         { memset(map, vid_defaultatt, MAPSIZE); }
  31.     attribmap()
  32.         { clearmap(); }
  33.     void    setmap(int val, int newval)
  34.         { if (val < MAPSIZE) map[val] = newval; }
  35.     void    setmap(uchar *newmap, int n = MAPSIZE)
  36.         { clearmap(); memcpy(map, newmap, min(n,MAPSIZE)); }
  37.     uchar   getmap(int n)
  38.         { return n < MAPSIZE ? map[n] : vid_defaultatt; }
  39.     void    getmap(uchar *pmap, int n = MAPSIZE)
  40.         { memcpy(pmap, map, min(n,MAPSIZE)); }
  41.     int     mapsize()
  42.         { return MAPSIZE; }        
  43. };
  44.  
  45. #endif
  46.